9cd88f45a6eeb6efb61fbd70ef0243b236ac919a,src/heros/alias/FieldSensitiveIFDSSolver.java,FieldSensitiveIFDSSolver,registerInterestedCaller,#M#IncomingEdge#,310

Before Change


					logger.trace("RECHECKING-PAUSED-EDGE: {} for new incoming edge {}", edge, incomingEdge);
					
					Constraint<FieldRef> constraint = new DeltaConstraint<FieldRef>(incomingEdge.getCalleeSourceFact().getAccessPath(), edge.factAtSource().getAccessPath());
					propagateConstrained(new ConcretizationPathEdge<>(
							applyConstraint(constraint, incomingEdge.getCallerSourceFact()), 
							incomingEdge.getCallSite(), 
							applyConstraint(constraint, incomingEdge.getCallerCallSiteFact()),
							method,
							applyConstraint(constraint, incomingEdge.getCalleeSourceFact())));
				}
			}
		}

After Change


					
					Constraint<FieldRef> constraint = new DeltaConstraint<FieldRef>(incomingEdge.getCalleeSourceFact().getAccessPath(), edge.factAtSource().getAccessPath());
					
					if(constraint.canBeAppliedTo(incomingEdge.getCallerSourceFact().getAccessPath()) && 
							constraint.canBeAppliedTo(incomingEdge.getCallerCallSiteFact().getAccessPath())) {
					
						propagateConstrained(new ConcretizationPathEdge<>(
								applyConstraint(constraint, incomingEdge.getCallerSourceFact()), 
								incomingEdge.getCallSite(), 
								applyConstraint(constraint, incomingEdge.getCallerCallSiteFact()),
								method,
								applyConstraint(constraint, incomingEdge.getCalleeSourceFact())));
					}
				}
			}